<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .box {
            border: 1px solid red;
            overflow: hidden;
        }

        .son1 {
            width: 100px;
            height: 100px;
            background-color: #f00;
            float: left;
        }

        .son2 {
            height: 200px;
            width: 100px;
            background-color: #0f0;
            float: left;
        }
    </style>
</head>
<body>

<!--
也可以是使用给box添加overflow:hidden属性
来清除浮动的影响

综上,清除浮动有以下几种方法
1. 加高法 绝对不会使用,因为麻烦,并且不能适应页面的快速变化
2. clear:both法: 最简单的清楚浮动方法,就是给盒子增加clear:both
表示自己内部的元素,不受其他盒子的影响,但是虽然能够清楚浮动,
margin属性却消失了,没有任何间隙
3. 隔墙法: 在两个浮动元素之间,建立一个"墙",隔开两个浮动部分,
让后浮动的元素,不去追前浮动的元素,一般会用墙的厚度来代替margin,
但是虽然隔墙了,div里面本质上还是没有高度的
4. 内墙法: 隔墙法的变种,在有浮动元素的盒子内部增加墙,就能撑出盒子的高度.
5. overflow:hidden法 这个属性的本意是 清楚超出边框的内容,
但是我们发现,这个东西能够清除浮动,我们知道,一个父元素是不能被自己浮动的子元素撑出高度,
但是父元素加上了overflow:hidden;那么这个父元素就有了正确高度,
也能够设置margin-->
<div class="box">
    <div class="son1"></div>
    <div class="son2"></div>
</div>

</body>
</html>